package tv.huan.media.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import tv.huan.common.annotation.Excel;
import tv.huan.common.core.domain.BaseEntity;
import java.util.Date;

/**
 * 项目专辑关系对象 item_album
 * 
 * @author admin
 * @date 2019-10-12
 */
public class ItemAlbum extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;

    /** 项目id */
//    @Excel(name = "项目id")
    private Long itemId;

    /** 专辑id */
//    @Excel(name = "专辑id")
    private Long albumId;

    /** 专辑名称 */
    @Excel(name = "专辑名称")
    private String title;

    /** 分类 */
    @Excel(name = "分类")
    private String className;

    /** 授权方名称 */
    @Excel(name = "授权方")
    private String authorizerName;

    /** 项目名称 */
    @Excel(name = "项目名称")
    private String itemName;

    /** 状态 */
    @Excel(name = "状态", readConverterExp = "0=待出库,1=可出库,2=已出库,3=已上线,4=已下线,-1=不可上线",type = Excel.Type.EXPORT)
    private Integer state;

    /** 出库时间 */
    @Excel(name = "出库时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date outstockTime;

    /** 上线时间 */
    @Excel(name = "上线时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date onlineTime;

    /** 下线时间 */
    @Excel(name = "下线时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date offlineTime;

    /** 操作原因（上线，下线，不可上线） */
    @Excel(name = "操作原因",type = Excel.Type.EXPORT)
    private String operateReason;

    /** 专辑cid */
    private String cid;

    /** 分类id */
    private Long classId;

    /** 授权方id */
    private Long authorizerId;

    /** 上线信息 */
    private String onlineInfo;

    public String getOnlineInfo() {
        return onlineInfo;
    }

    public void setOnlineInfo(String onlineInfo) {
        this.onlineInfo = onlineInfo;
    }

    public Long getClassId() {
        return classId;
    }

    public void setClassId(Long classId) {
        this.classId = classId;
    }

    public Long getAuthorizerId() {
        return authorizerId;
    }

    public void setAuthorizerId(Long authorizerId) {
        this.authorizerId = authorizerId;
    }

    public String getClassName() {
        return className;
    }

    public void setClassName(String className) {
        this.className = className;
    }

    public String getCid() {
        return cid;
    }

    public void setCid(String cid) {
        this.cid = cid;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getAuthorizerName() {
        return authorizerName;
    }

    public void setAuthorizerName(String authorizerName) {
        this.authorizerName = authorizerName;
    }

    public String getItemName() {
        return itemName;
    }

    public void setItemName(String itemName) {
        this.itemName = itemName;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setItemId(Long itemId)
    {
        this.itemId = itemId;
    }

    public Long getItemId()
    {
        return itemId;
    }
    public void setAlbumId(Long albumId)
    {
        this.albumId = albumId;
    }

    public Long getAlbumId()
    {
        return albumId;
    }
    public void setState(Integer state)
    {
        this.state = state;
    }

    public Integer getState() 
    {
        return state;
    }
    public void setOutstockTime(Date outstockTime) 
    {
        this.outstockTime = outstockTime;
    }

    public Date getOutstockTime() 
    {
        return outstockTime;
    }
    public void setOnlineTime(Date onlineTime) 
    {
        this.onlineTime = onlineTime;
    }

    public Date getOnlineTime() 
    {
        return onlineTime;
    }
    public void setOfflineTime(Date offlineTime) 
    {
        this.offlineTime = offlineTime;
    }

    public Date getOfflineTime() 
    {
        return offlineTime;
    }
    public void setOperateReason(String operateReason) 
    {
        this.operateReason = operateReason;
    }

    public String getOperateReason() 
    {
        return operateReason;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("itemId", getItemId())
            .append("albumId", getAlbumId())
            .append("state", getState())
            .append("outstockTime", getOutstockTime())
            .append("onlineTime", getOnlineTime())
            .append("offlineTime", getOfflineTime())
            .append("operateReason", getOperateReason())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
